package com.gopay.common.domain.poundage;

import com.gopay.common.constants.trans.OrderFeePayer;
import com.gopay.common.constants.txncd.IntTxnCd;
import com.gopay.common.domain.BaseEntity;

import java.math.BigDecimal;

/**
 * 手续费服务请求类
 * 
 * @PoundageReq.java
 * @author yaobo
 * @2013-2-1 下午05:18:51 www.gopay.com.cn Inc.All rights reserved.
 */
public class PoundageReq extends BaseEntity {

    /**
     * 
     */
    private static final long serialVersionUID = 7243910009912642170L;

    /**
     * 虚拟账号
     */
    private String acctId;

    /**
     * 商户交易金额
     */
    private BigDecimal amount;

    /**
     * 付款方式
     */
    private String payChannel;

    /**
     * 内部交易码
     */
    private IntTxnCd intTxnCd;

    /**
     * 账户类型
     */
    private String acctType;

    /**
     * 付款方账户ID
     */
    private String payAcctId;

    /**
     * 手续费承担方
     */
    private OrderFeePayer orderFeePayer;

    /**
     * 银行编码  单银行特例手续费新增字段  add by jianghoup
     */
    private String bankCode;

    private boolean cacheFlag = false;//redis缓存标志位

    private String redisEnvironment;  //环境名
    private String prodCode;  //账户类型


    public String getPayAcctId() {
        return payAcctId;
    }

    public void setPayAcctId(String payAcctId) {
        this.payAcctId = payAcctId;
    }

    public String getAcctType() {
        return acctType;
    }

    public void setAcctType(String acctType) {
        this.acctType = acctType;
    }

    public IntTxnCd getIntTxnCd() {
        return intTxnCd;
    }

    public void setIntTxnCd(IntTxnCd intTxnCd) {
        this.intTxnCd = intTxnCd;
    }

    public String getAcctId() {
        return acctId;
    }

    public void setAcctId(String acctId) {
        this.acctId = acctId;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public String getPayChannel() {
        return payChannel;
    }

    public void setPayChannel(String payChannel) {
        this.payChannel = payChannel;
    }

    public OrderFeePayer getOrderFeePayer() {
        return orderFeePayer;
    }

    public void setOrderFeePayer(OrderFeePayer orderFeePayer) {
        this.orderFeePayer = orderFeePayer;
    }

    public String getBankCode() {
        return bankCode;
    }

    public void setBankCode(String bankCode) {
        this.bankCode = bankCode;
    }

    public boolean getCacheFlag() {
        return cacheFlag;
    }

    public void setCacheFlag(boolean cacheFlag) {
        this.cacheFlag = cacheFlag;
    }

    public String getRedisEnvironment() {
        return redisEnvironment;
    }

    public void setRedisEnvironment(String redisEnvironment) {
        this.redisEnvironment = redisEnvironment;
    }

    public String getProdCode() {
        return prodCode;
    }

    public void setProdCode(String prodCode) {
        this.prodCode = prodCode;
    }
}
